// =========================================================非必要情况勿动
/**
 * 全局自动注册
 *
 * 全局组件各个组件按文件夹区分，文件夹名称与组件名无关联，但建议与组件名保持一致
 * 文件夹内至少保留一个文件名为 index 的组件入口，例如 index.vue
 * 普通组件必须设置 name 并保证其唯一，自动注册会将组件的 name 设为组件名，可参考 SvgIcon 组件写法
 * 如果组件是通过 js 进行调用，则确保组件入口文件为 index.js，可参考 ExampleNotice 组件
 */

import Vue from 'vue'
// 1、注册所有路由文件
const arr = []
const demoContext = require.context('@/views', true, /.vue$/)
demoContext.keys().forEach((item, i) => {
    if (/.vue$/.test(item)) {
        const componentConfig = demoContext(item).default
        let str = item.match(/.\/(\S*).vue/)[1];
        let path = str.substring(0, str.lastIndexOf("/"))
        let test_route = {
            path: '/' + path,
            name: componentConfig.name,
            url: '@/views/' + str + '.vue',
            component: (resolve) => require(['@/views/' + str + '.vue'], resolve),
            meta: {
                title: componentConfig.title,
            },
        }
        arr.push(test_route)
    }
})
export const testRoutes = arr
console.log((testRoutes))
// 以 "gl-" 开头,以".vue"结尾的2文件组件  /\gl.*?\vue$/
// const allComponents = require.context('@/nxp/baseComponents', false, /\gl.*?\.vue$/)
// allComponents.keys().forEach(file_name => {
//     // console.log(allComponents(file_name))
//     let comp = allComponents(file_name).default
//     if (/.vue$/.test(file_name)) {
//         Vue.component(comp.name, comp)
//     } else {
//         Vue.use(comp)
//     }
// })

// 2、注册全局组件
// const componentsContext = require.context('@/nxp/baseComponents', true, /index.(vue|js)$/)
// componentsContext.keys().forEach(file_name => {
//     // 获取文件中的 default 模块
//     const componentConfig = componentsContext(file_name).default
//     if (/.vue$/.test(file_name)) {
//         Vue.component(componentConfig.name, componentConfig)
//     } else {
//         Vue.use(componentConfig)
//     }
// })



// // 3、注册全局过滤器
// // 例如：Vue.filter('enumsFilter', enumsFilterFunction);
// const filterContext = require.context('@/nxp/baseGloabal', true, /filters.js$/)
// filterContext.keys().forEach(file_name => {
//     const filtersConfig = filterContext(file_name)
//     for (let key in filtersConfig) {
//         Vue.filter(key, filtersConfig[key])
//     }
// })
// //4、注册全局指令
// import directives from "@/nxp/baseGloabal/directives.js"
// Vue.use(directives);